package com.hui.service.impl;

import com.hui.base.StatusCode;
import com.hui.dao.CourseDao;
import com.hui.dao.impl.CourseDaoImpl;
import com.hui.pojo.Course;
import com.hui.service.CourseService;
import com.hui.utils.DateUtils;

import java.util.List;

/**
 * Created with IntelliJ IDEA.
 *
 * @Auther: 李昭辉
 * @Date: 2021/07/11/18:14
 * @Description:
 */
public class CourseServiceImpl implements CourseService {
    private CourseDao courseDao = new CourseDaoImpl();

    @Override
    public List<Course> getCourseList() {
        return courseDao.getCourseList();
    }

    @Override
    public List<Course> getCourseByCourseNameAndStatus(String courseName, String status) {
        return courseDao.getCourseByCourseNameAndStatus(courseName, status);
    }

    @Override
    public String saveCourseSaleInfo(Course course) {
        // 调用dao层，获取结果
        int i = courseDao.saveCourseSaleInfo(course);
        // 返回状态码
        return i > 0 ? StatusCode.SUCCESS.toString() : StatusCode.FAIL.toString();
    }

    @Override
    public String updateCourseSaleInfo(Course course) {
        int i = courseDao.updateCourseSaleInfo(course);
        return i > 0 ? StatusCode.SUCCESS.toString() : StatusCode.FAIL.toString();
    }

    @Override
    public Course getCourseSaleInfoById(int id) {
        return courseDao.getCourseSaleInfoById(id);
    }

    /**
     * @param id 课程id
     * @return 修改后的状态 : 0-草稿，1-上架，负数为失败
     */
    @Override
    public int updateCourseStatusById(int id) {
        // 查询之前的课程状态
        int oldStatus = courseDao.getCourseSaleInfoById(id).getStatus();
        // 新建 course 对象，状态取反
        Course course = new Course();
        if (oldStatus == 0) {
            course.setStatus(1);
        } else {
            course.setStatus(0);
        }
        // 补全信息  id  update_time
        course.setId(id);
        course.setUpdate_time(DateUtils.getDateFormat());
        // 执行修改操作
        int i = courseDao.updateCourseStatus(course);
        if (i > 0)
            return course.getStatus();
        return -1;
    }
}

